//
//  UITableViewHelper.swift
//  DictionaryModule
//
//  Created by xianquan on 2023/12/13.
//

import Foundation

extension UITableViewCell: IdentifierProvider {}
extension UITableViewHeaderFooterView: IdentifierProvider{}

public extension UITableView {
    
    func xw_register<T: UITableViewCell>(_ cellClass: T.Type, identifier: String = T.identifier){
        register(T.self, forCellReuseIdentifier: identifier)
    }
    
    func xw_dequeueReusableCell<T: UITableViewCell>(withReuseType type: T.Type, identifier: String = T.identifier) -> T{
        dequeueReusableCell(withIdentifier: identifier) as! T
    }
    
}

public extension UITableView{
    func xw_register<T: UITableViewHeaderFooterView>(_ viewClass: T.Type, identifier: String = T.identifier){
        register(viewClass, forHeaderFooterViewReuseIdentifier: identifier)
    }
    func xw_dequeueReusableHeaderFooterView<T: UITableViewHeaderFooterView>(_ viewClass: T.Type, identifier: String = T.identifier) -> T{
        dequeueReusableHeaderFooterView(withIdentifier: identifier) as! T
    }
}
